#include <stdio.h>
#include <avr/io.h>
#include <stdlib.h>
#include <util/delay.h>
#include <avr/interrupt.h>
//Lokalni header
#include "Hlavni.h"
#include "UART.h"
#include "data.h"

ISR(USART_RXC_vect)
{ 
	if(valid_Data(UDR))
	{
		flag=1;
		cli();		// Vypnout globalne interrupty
	}

}

int main ( void )
{
	// Inicializacni cast
	init_Ports();
	init_UART();

	sei();		//<! Global interrupt

	ptr_reference=&pozice[0];      //<! Pointer na referncni polohu
 	ptr_aktualni=&pozice[1];	   //<! Pointer na aktualni polohu
	
	char loc_dollar;
	// Funkcni cast
	while(1)
	{
		loc_dollar=read_UART();
	//	write_Character(loc_dollar);
		if(flag)
		{
			
			write_Character('A');
			flag=0;
			sei();
		}

		//if(flag)
		//{
		//	 zpracujData();
		//   otestovat a pak srazit flag
		//}
	}
	return 0;

}
/////////////////////////////
//! Funkce: set_Ports      //
//! Inicializace portu     //
/////////////////////////////
void init_Ports()
{
	    DDRB |= (1<<PB0);		//<! Aktivovani pinu PB0
        PORTB =(1<<PB0);	    //<! Nastaveni do vysoke urovne
}

/////////////////////////////
//! Funkce: blik_LED       //
//! Blikani LED diodou     //
/////////////////////////////
void blik_LED()
{ 
	PORTB =(0<<PB0);
	_delay_ms(1000);
	PORTB =(1<<PB0);
	_delay_ms(1000);
}
/////////////////////////////
//! Funkce: Interrupt       //
//! Blikani Interrupt UART  //
/////////////////////////////

